Advances in computer networks and telecommunications capabilities have led to advances in the capability of computer networks to support videoconferencing. Videoconferencing is similar to teleconferencing, that is, a meeting of more than two people conducted over a telecommunications system. With a videoconference, the teleconference is augmented by video communications between the parties. This communication can include video images of the participants and multimedia presentations, such as a Microsoft™ POWERPOINT™ presentation.
Videoconferencing originally relied on dedicated audio/visual communications equipment and dedicated telecommunication lines between the facilities or low quality communications over public-access telecommunications lines. Computer network advances, including the internet, have enabled equipment residing on Local Area Networks (LAN), including desktop computers to participate in a videoconference. These points on a network that can participate in a videoconference are referred to as “endpoints” in videoconferencing.
Voice, video, and other images are sent over a computer network as digital information. Network systems can carry only a finite amount of digital information at a given time. This digital information carrying capacity is called bandwidth. Network operations compete for bandwidth use. Also, the cost of information-carrying components is proportional to their information carrying capacity. This relationship makes bandwidth a valuable commodity in a network environment. Videoconferencing tends to require relatively large amounts of bandwidth. For example, a business quality videoconference typically requires at least six channels, or 384 kilobytes per second, of bandwidth.
Network administrators are usually responsible for ensuring that networks are continually available to meet all the needs of network users by allocating bandwidth for specific activities, including videoconferencing, at specific times of operation. One uncertainty this method of allocating bandwidth creates is whether a network will actually have available bandwidth to conduct the videoconference at the time the call is scheduled. This uncertainty can result in a company wasting valuable time and resources since personnel would not know until the scheduled time of the call that the videoconference cannot be conducted.
To connect videoconference calls between parties (endpoints) on different networks, the networks must have specialized equipment. This equipment includes codecs, multipoint control units (MCUs), gateways, gatekeepers, multipoint-capable endpoints, and desktop computers with direct connections to ISDN or other telecommunications lines. A codec, or coder-decoder is the core (or “engine”) of a video conference system and is responsible for all of the encoding and decoding of information (audio and video). Before the transmission, the codec converts analog signals to digital signals and compresses the digital signals. Incoming audio and video must be decompressed and converted from digital back to analog.
MCUs, which are made up of both hardware and software components, are needed to support teleconferences with more than four participants and are an expensive resource for a network. MCUs have multiple ports to manage the call flow-control and processes and to distribute the audio, video, and data streams to the videoconference participants. Networks can have multiple MCUs. Gateways, which can be hardware and/or software, connect network endpoints to endpoints outside the network over ISDN or other telecommunications lines. Gatekeepers are software programs that manage bandwidth within a network zone. LANs may be divided up into zones. A gatekeeper manages bandwidth use for a particular network zone and determines if connections between zones have sufficient bandwidth to carry a videoconference call. Multipoint-capable endpoints are essentially mini MCUs and can videoconference with three other endpoints-without using an MCU. Finally, an endpoint, such as a desktop computer on the LAN, can have a direct connection to an ISDN or other telecommunications line. If this endpoint needs to connect to a videoconference involving others outside that endpoint's network zone, the call can be initiated without using an MCU.
Because MCUs are expensive to purchase and operate, it is desirable for a network administrator to minimize the number of MCUs on the network. The administrator typically strives to purchase and maintain only the number of MCUs necessary to support anticipated call volume and no more. For efficient equipment use, a network administrator will use other equipment, such as multipoint capable endpoints, to service the calls rather than the more valuable resource of an MCU port when possible.
Traditionally, the process of scheduling videoconferences is analogous to scheduling any event on a common calendar. Participants who want to schedule a videoconference first look to see the availability of the videoconferencing equipment. For example, existing videoconferencing systems often include scheduling software, such as Microsoft™ OUTLOOK™ or other similar desktop scheduling application. With these known systems, a participant can initiate the scheduling application and determine from the calendar whether the videoconferencing equipment is available on a given day at a given time. The scheduling software may also allow the participant to reserve specific equipment at a specific time. For example, the participant may reserve a conference room with videoconference equipment for a given day and a given block of time. The software will then indicate to other individuals who attempt to schedule a videoconference that that conference room at that particular time is reserved. The scheduling software may also send a message to each of the videoconference participants' computers alerting them of the scheduled videoconference. This message may be configured to alert the participants a short time before the videoconference is to start.
While conventional videoconferencing systems allow for the reserving of videoconferencing assets, such as conference rooms and equipment, these systems are unable to ensure, at the time a call is scheduled, that the required bandwidth will actually be available when the call is made. Instead, these systems take a wait-and-see approach, where the call is attempted at the scheduled time and only then do the participants know if the call will actually be established. Also, conventional videoconferencing systems are incapable of determining the “least cost” port to carry the call, that is, the port that has the least value as a network resource yet is still able to meet the demands of the scheduled call. Finally, participants of a pending call do not know if system performance will adversely affect the performance of the videoconference.
What is needed is a software program that can ensure that the bandwidth required for a videoconference call will be available at the time a scheduled call is made. What is also needed is a software program that optimizes the use of network resources by using the least cost port for completing the scheduled call and ensures that these resources are operating properly.